//该文件用于创建Vuex中最核心的store
import Vuex from 'vuex'
import Vue from "vue";
Vue.use(Vuex)
//用于响应组件中的动作
const actions = {
  // 这里的context是一个简易的Store对象，包含了commit方法和state属性
  jia(context, value) {
    context.commit('JIA', value)
  },
  jian(context, value) {
    context.commit('JIAN', value)
  },
  incrementIfOdd(context, value) {
    if (context.state.sum % 2) {
      context.commit('JIA', value)
    }
  },
  incrementAsync(context, value) {
    setTimeout(() => {
      context.commit('JIA', value)
    }, 1000)
  }
}
// 用于操作数据state
const mutations = {
  JIA(state, value) {
    state.sum += value
  },
  JIAN(state, value) {
    state.sum -= value
  }
}
// 用于存储数据
const state = {
  sum:0
}
//创建store
export default new Vuex.Store({
  actions,
  mutations,
  state,
})
